用C++编程实现迭代法求解x^3e^x-2=0

来源:百度知道 编辑:UC知道 时间:2024/06/25 09:38:39
f(x)=x^3e^x-2 一阶导 (3x^2+x^3)e^x 在线等 牛人帮忙啊
要将C++得源代码写出来啊

double g(double x){
return x*x*x*pow(e,x-2);
}

int main(){
double x0,x1,Epsilon;//Epsilon为精确程度
x0=任意值,或近似值;
do {
x1=x0;
x0=g(x1); /*按特定的方程计算新的近似根*/
} while ( fabs(x0-x1)>Epsilon);

printf(“方程的近似根是%f\n”,x0);
return 0;
}

您好 大概就是这样的框架

x^3e^x-2=0
x^3e^x=2,双边取对数
ln(x^3e^x) = ln2
3lnx + x = ln2
x = ln2 - 3lnx

用x = ln2-3lnx作为迭代方程

double x, y;
do {
y = x;
x = ln(2) - 3 * ln(x);
}while( abs(x-y) < e);
就行了,用导数需要采用 f(x+1) = f(x) + kf'(x),我觉得台劳方式太麻烦了,既然可以用迭代法,估计是收敛的,试试看吧